This invention relates generally to communications and, more particularly, to packet communications systems.
In the past, all data traffic using the Internet was treated equally and transported using a xe2x80x9cbest effortxe2x80x9d mechanism. However, over time, the need to support real-time applications over the Internet (e.g., audio/video conferencing tools, gaming applications, etc.) necessitated some form of differentiated services offering. As such, those in the art are defining new protocols for providing quality of service (QoS) to Internet users. (QoS is also referred to as Type of Service (ToS).) For example, the article xe2x80x9cAn Architecture for Differentiated Services,xe2x80x9d RFC2475, December 1998 by S. Blake, et al., defines six bits within the TOS byte in the Internet Protocol (IP) header for conveying a code point which represents a certain QoS. Similarly, the article xe2x80x9cAn Expedited Forwarding PHBxe2x80x9d, draft-ietf-diffserv-phb-ef-01.txt, November 1998, by V. Jacobson, et al., describes one specific code point that allows users to subscribe to different configured rates just like the Constant Bit Rate (CBR) service in ATM. The article xe2x80x9cAssured Forwarding PHB Groupxe2x80x9d, draft-ietf-diffserv-af-03.txt, December 1998, by J. Heinanen, et al. describes other types of services that are similar to Real Time/Non Real-Time Variable Bit Rate (VBR) services in ATM. And, the article xe2x80x9cPPP in a real-time oriented HDLC-like framing,xe2x80x9d by C. Bormann, WETF draft August 1998, proposes a suspend/resume-oriented solution for providing integrated services over low-bitrate links. (PPP stands for Point-to-Point Protocol.) This proposal builds from the PPP multilink fragmentation protocol (e.g., see K. Slower etc xe2x80x9cThe PPP Multilink Protocol (MP),xe2x80x9d RFC1990, August 1996) and its multi-class extension (e.g., see C. Bormann, xe2x80x9cThe Multi-class Extension to Multilink PPP,xe2x80x9d IETF draft August 1998).
One use of the Internet as a communications vehicle is as an enhanced data back-bone for coupling together different sites to provide what is referred to as a xe2x80x9cvirtual private networkxe2x80x9d (VPN). One application of a VPN is in a corporate environment such that employees, e.g., at home, can remotely access, via the Internet, corporate data networks. A VPN provides security, and authentication, for a remote user to join a closed user group notwithstanding the use of public facilities. In effect, the use of a VPN provides a WAN-like vehicle to the corporation and its employees. (Although the corporate network could also provide direct remote access, e.g., a user dials directly into the corporate network, there are economic advantages to the use of a VPN.)
To provide a VPN, tunneling protocols are used such as the xe2x80x9cPoint-to-Point Tunneling protocolxe2x80x9d (PPTP) and the xe2x80x9cLayer 2 Forwardingxe2x80x9d (L2F) protocol. Generally speaking, a tunnel protocol enables the creation of a private data stream via a public network by placing one packet inside of another. In the context of a VPN, an IP packet is placed inside another IP packet (IP-in-IP). In an attempt to develop an industry standard, the Internet Engineering Task Force (IETF) is developing the xe2x80x9cLayer 2 Tunneling Protocolxe2x80x9d (L2TP), which is a hybrid of the PPTP and L2F protocols (e.g., see K. Hamzeh, T. Kolar, M. Littlewood, G. Singh Pall, J.Taarud, A. J. Valencia, W. Verthein; Layer Two Tunneling Protocol xe2x80x9cL2TPxe2x80x9d; Internet draft, March, 1998).
For a remote user, a typical form of access to a VPN is via a xe2x80x9cplain-old-telephone servicexe2x80x9d (POTS) connection to an xe2x80x9cInternet service providerxe2x80x9d (ISP) that provides the VPN service. For example, a user incorporates an analog modem into a personal computer, or equivalent, and has a customer account with a particular ISP, referred to herein as the xe2x80x9chomexe2x80x9d ISP. (It is also assumed that the user""s personal computer is properly configured to support one of the above-mentioned tunneling protocols.) The user accesses the VPN by simply making a data call to the home ISP, e.g., dialing a telephone number associated with the xe2x80x9chomexe2x80x9d ISP and then xe2x80x9clogging inxe2x80x9d to the VPN.
As noted above, in L2TP, a tunnel is established between two VPN service providers for carrying a number of calls. Unfortunately, the above-mentioned L2TP protocol does not address xe2x80x9cQuality of Servicexe2x80x9d (QoS) issues (also know as Differential Services). As such, some users may be reluctant to adopt L2TP without QoS assurances such as a guaranteed minimum bandwidth for a call. Consequently, those in the art have suggested modifying L2TP such that after a tunnel is established, a per-call QoS can be negotiated using only a single code point value (e.g., see xe2x80x9cLayer Two Tunneling Protocol xe2x80x98L2TPxe2x80x99 IP Differential Services Extension,xe2x80x9d July 1998, draft-ietf-pppext-12tp-ds-02.txt [@http://www.ietf.org)].
Unfortunately, providing a per-call QoS using a single code point value is not a complete solution to the problem in an L2TP-based system. In particular, I have realized that the above-mentioned PPP Multilink Protocol (MP) and, its multi-class extension should also be supported in an L2TP environment. Therefore, and in accordance with the invention, the control signaling in L2TP is modified to support multiple classes of service within a call.
In an embodiment of the invention, new Attribute Value Pairs (AVP)s are defined for use in the L2TP control messages for setting up a call (as defined in L2TP, AVPs are used to further specify control signaling). In particular, an L2TP Incoming-Call-Request (ICRQ) or Outgoing-Call-Request (OCRQ) message includes a QoS Request AVP, which includes a field for defining the number of classes of service, or QoS, within the call. One QoS for each PPP multi-class extension.
In another embodiment of the invention, a new QoS_Request extension and a new QoS_Reply extension are defined for use in Mobile IP networks.